package modelo.DAO;

import java.sql.Date;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import modelo.Conexion;
import modelo.Equipo;
import modelo.Liga;

public class EquipoDAO {

	public EquipoDAO() {
		super();
	}
	
	public void actualizarJuegEquipos(Liga liga){
		String tiraSQL = "UPDATE equipos SET juegosjugados='"+0+"', juegosganados='"+0+"', juegosperdidos='"+0+"', diferencia='"+0+"';";
		Conexion.ejecutar(tiraSQL);
	}
	
	public void regEquipo(Equipo equipo) {
		String tiraSQL = "INSERT INTO equipos VALUES ('"+equipo.getCodigo()+"','"+equipo.getNombre()+"','" +equipo.getCiudad()+"','"+equipo.getEstadio()+"','"+equipo.getjJugados()+"','"+equipo.getjGanados()+"','"+equipo.getjPerdidos()+"',0,'"+equipo.getAnioFundacion()+"')";
		Conexion.ejecutar(tiraSQL);
	}
	
	public void actualizarEquipos(Liga liga){
		for (int i=0; i<liga.contarEquipos();i++){
			Equipo equipo=liga.getEquipos().get(i);
			String tiraSQL = "UPDATE equipos SET juegosjugados='"+equipo.getjJugados()+"', juegosganados='"+equipo.getjGanados()+"', juegosperdidos='"+equipo.getjPerdidos()+"', diferencia='"+equipo.Diferencia(liga.primerEquipo())+"' WHERE codequipo = '"+equipo.getCodigo()+"';";
			Conexion.ejecutar(tiraSQL);
		}
	}

	public ArrayList<Equipo> consultarEquipos() {
		ArrayList<Equipo> equipos = new ArrayList<Equipo>();
		String tiraSQL = "SELECT * FROM equipos ORDER BY codequipo";
		ResultSet resultSet = Conexion.consultar(tiraSQL);
		try {
			while (resultSet.next()) {
				String codigo = resultSet.getString("codequipo");
				String nombre = resultSet.getString("nombre");
				String anioFundacion = resultSet.getString("aniofund"); // PENDIENTE DE CAMBIAR LA FECHA DE DATE (QUE VIENE DEL SQL) A STRING (COMO ESTA DECLARADO EN LA CLASE EQUIPO)
				String ciudad = resultSet.getString("ciudad");
				String estadio = resultSet.getString("estadio");
				int jJugados = resultSet.getInt("juegosjugados");
				int jGanados = resultSet.getInt("juegosganados");
				int jPerdidos = resultSet.getInt("juegosperdidos");
				Equipo equipo = new Equipo(codigo, nombre, anioFundacion, ciudad, estadio, jJugados, jGanados, jPerdidos);
				equipos.add(equipo);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return equipos;
	}
}
